From: Florian Müllner Date: Sat, 14 Feb 2015 01:33:54 +0000 (+0100) Subject: messageTray: Notify when notifications are acknowledged X-Git-Tag: archive/raspbian/50.5-1+rpi1~1^2~1013^2^2~1723 X-Git-Url: https://dgit.raspbian.org/%22http://www.example.com/cgi/%22/%22http:/www.example.com/cgi/%22?a=commitdiff_plain;h=1ef5281c5504a72fe13314a721ff3f9c676ce7cd;p=gnome-shell.git messageTray: Notify when notifications are acknowledged Source::count-updated is emitted as notifications are added or removed, which is correct for the primary notification count. However it is not for the unseen count, which will also change when a notification is acknowledged without being removed. At the moment this does not matter, as the unseen count is only used on the screen shield and notifications are never acknowledged while the screen is locked. However we will soon use the unseen count in the normal session as well, so emit the signal in this case too. https://bugzilla.gnome.org/show_bug.cgi?id=744850 --- diff --git a/js/ui/messageTray.js b/js/ui/messageTray.js index 9a56bd7c2..7d22a425b 100644 --- a/js/ui/messageTray.js +++ b/js/ui/messageTray.js @@ -480,7 +480,7 @@ const Notification = new Lang.Class({ this.forFeedback = false; this.expanded = false; this.focused = false; - this.acknowledged = false; + this._acknowledged = false; this._destroyed = false; this._customContent = false; this.bannerBodyText = null; @@ -822,6 +822,17 @@ const Notification = new Lang.Class({ return this.addButton(button, callback); }, + get acknowledged() { + return this._acknowledged; + }, + + set acknowledged(v) { + if (this._acknowledged == v) + return; + this._acknowledged = v; + this.emit('acknowledged-changed'); + }, + setUrgency: function(urgency) { this.urgency = urgency; }, @@ -1292,6 +1303,7 @@ const Source = new Lang.Class({ return; notification.connect('destroy', Lang.bind(this, this._onNotificationDestroy)); + notification.connect('acknowledged-changed', Lang.bind(this, this.countUpdated)); this.notifications.push(notification); this.emit('notification-added', notification);